The present invention generally relates to object-oriented data processing systems, and more particularly to an object-oriented data processing system that describes the real world in terms of an object model.
In the object-oriented data processing system, the real world is grasped as an external definition and a corresponding internal definition, wherein the internal definition describes the details of the external definition. More specifically, the external definition includes iD information that identifies a corresponding internal definition, while the internal definition specified by the iD information is set in a concealed area which is concealed from outside. Thus, the real world is represented substantially by the external definitions only, in the form of object world, while the object world generally includes a dynamic world and a static world. The static world includes classes and/or composite classes, wherein the classes and the composite classes provides the structure of the system. On the other hand, the dynamic world includes instances of the foregoing classes and/or composite classes, and these instances provide the motion of the dynamic world.
First, a description will be given with respect to an advantageous point of forming a capsule of objects, by referring to FIGS. 1A through 1C.
For example, executionable process data 214 are made up of a series of instructions (or instruction groups) 250 shown in FIG. 1A which are serialized in the processing sequence. A number of such instructions (or instruction groups) 250 form a unit process 251 which executes a predetermined process or behavior.
Accordingly, the executionable process data 214 shown in FIG. 1A may be regarded as a collection of the unit processes 251 which are serialized in the processing sequence as shown in FIG. 1B. The serialized executionable process data 214 shown in FIG. 1B as a whole carry out a specific operation. Hence, the executionable process data 214 for carrying out another specific operation is given as a connection of the unit processes 251 having a different combination.
As the number of existing unit processes 251 which make different behaviors becomes large, the individual unit processes 251 are integrated under a predetermined method M as shown in FIG. 1C, so as to obtain an integrated processing group which carries out the same operation as the executionable process data 214 shown in FIG. 1B.
As a preliminary description, the relationship between object, object command and object component will be described.
First, a description will be given about the relationships between object, object command and object component.
FIG. 2 shows an example of the real world, that is, a model of company organization. Within a box representing "employee" in FIG. 2, there is a "secretary" belonging to a "work type=1," a "leader" belonging to a "work type=2," and a "worker" belonging to a "work type=3." A box representing "employee" belongs to a box representing a "team."
The "leader" is related to the "team" under the relationship "team leader." In addition, the "worker" is related to a "machine" under the relationship "worker/machine" within the box representing "work unit."
The "team" and the "machine" are related under the relationship "workshop/machine." The "worker" and the "machine" are related under the relationship "machine/worker." In addition, the "employee" and the department are related under the relationship "department/employee."
Furthermore, the "employee" and the "position" are related under the relationship "employee/attribute." The "work unit" and the "component" are related under the relationship "work unit/component."
The following relationships also exist.
(1) The "department" is related to the object "department name" and the object "dollars." PA0 (2) The "team" is related to the object "name" by a team identification number, related to the object "employee number" by the work type, related to the object "code name" and the object "surname" by the name, related to the object "dollars" by the salary, related to the object "dollars" by the average salary, and related to the object "number" by the average number of departments. PA0 (3) The "secretary" is related to the object "number" by the typing speed. PA0 (4) The "position" is related to the object "name" by the name, and related to the object "year" by the age. PA0 (5) The "part" is related to the object "part number" and the object "dollars." PA0 (6) The "work unit/part" is related to the object "number" by the volume. PA0 (7) The "work unit" is related to the object "time" by the required time. PA0 (8) The "machine" is related to the object "machine number" the object "dollars" and the object "machine name." PA0 (9) The "machine/work" is related to the object "time" by the time used. PA0 (i) The "set" represents a set formed of individuals such as "Mary," "John," "Dick," who are related to the , "person" by the "is-a" relationship. PA0 (ii) The "tupple" represents a set of "name," "age," "hobby," and the like, which are related to "John" according to the "part-of" relationship. PA0 (iii) The "attribute," on the other hand, represents , semantic data such as "habit," "race," and the like, attached to "person."
The model shown in FIG. 2 can generally be represented as shown in FIG. 3 if the "behavior" (or method) is indicated by a circular box, the "data" is indicated by a rectangular box, and they "relationship" is indicated by a rhombic box. In other words, (1) a method "a" and data "I" are combined and function as one larger data "IV", (2) methods "b" and "c" are related to data "II" by a relationship ".alpha." and function as one larger data "V", (3) methods "c" and "d" are related to data "III" by a relationship ".beta." and function as one larger data "VI", and (4) a method "e" are related to data "IV" and "V" by a relationship ".tau." and function as still a larger data "VII". In other words, the behaviors (or methods) are gathered and represented as a larger group.
Each circular box, rectangular box and rhombic box shown in FIG. 3 can be treated as an individual object.
The forming of a capsule shown in FIG. 4A will now be considered for a collection of the method "a" and the data "I" shown in FIG. 3. In FIG. 4A, an opening is formed at the top of the capsule to indicate that a message communication can be made. If this opening of the capsule were closed as shown on the left side of FIG. 4B, such a capsule would then correspond to the data "IV" which is a collection of the method "a" and the data "I" in FIG. 3. If a composite object is obtained by adding a method "M" to the data "D" (capsule) shown on the left side of FIG. 4B, the data shown at the central part of FIG. 4B is obtained. Further, if a composite object is obtained by further adding a method to the data shown at the central part of FIG. 4B, the data shown on the right side of FIG. 4B is obtained. Hence, FIG. 4B shows the formation of composite objects shown in FIG. 4C by successively adding the methods.
The formation of the composite objects is not limited to that shown in FIG. 4B. For example, the composite objects may be formed as shown in FIG. 4C. In FIG. 4C, the data "D" of the object shown on the leftmost side is replaced by an object Which is made up of a method and data, as shown on the second leftmost side. In this case, a message passing is required between a method "M1" and data "D1", and the method "M1" becomes one object as shown on the second rightmost side in FIG. 4C. As a result, objects "A" and "B" exist within an object "C", and the message passing exists between the objects "A" and "B".
Furthermore, if the method "M" of the object "B" is replaced by an object "B1" and the data "D" of the object "B" is replaced by an object "B2", both the object "B1" and "B2" exist within the object "B" and the message passing exists between the objects "B1" and "B2" as shown on the rightmost side in FIG. 4C.
Therefore, the composite objects are formed by successively combining the objects. For example, the so-called primitive objects which will be described later are combined to form a capsule object, the capsule objects are combined to form an event object, and the event objects are combined to form a system object.
The data "D" described above is generally made up of a plurality of unit processes which are the subject of the processing. On the other hand, the method "M" may be considered as information or information group instructing how the plurality of unit processes are to be utilized. The objects represented in FIGS. 4A-4C represent a "unit process" which is treated as an individual "unit process" or a collection of "individual unit processes".
As shown in FIG. 3, the individual objects "I", "II" and "III" form a part of the larger objects "IV", "V" and "VI" In addition, the objects "IV", "V" and "VI" form a part of still a larger object "VII". In other words, the objects "IV", "V" and "VI" are in an "is-a" relationship or a "part-of" relationship with the object "VII" when viewed from the object "VII".
If the objects "I", "II" and "III" are regarded as minimum units, these objects "I", "II" and "III" may be said to be primitive objects. The capsule object is formed by a collection of such primitive objects. The event object is formed by! a collection of such capsule objects. Furthermore, a still larger system object is formed by a collection of such event objects.
The objects described above which are made up of a collection of smaller objects are respectively referred to as composite object. The primitive object is included in the concept of the composite object. However, the primitive object is an object of the minimum unit as described above. For this reason, when a reference is generally made to a "composite object" or an "object", it is better to exclude the primitive object which exists by itself and cannot be decomposed further.
The object in the capsule form is generally made up of the composite objects described above in the capsule form.
Thus, the real world is represented by a number of objects related with each other as indicated in FIG. 2, wherein each object represents a unit process that may or may not include a number of subunits.
As described above, it is possible to model the real world by means of objects. For example, human conversation in society implicitly assumes common sense that represents the entity of the real world. The actual conversation is usually made by using the name of the entity. Thus, the conventional object-oriented technology, which arranges the created program according to the class, also conceals the entity of the program in a storage device that forms a concealed world as indicated in FIG. 5. The entity of the program is called as needed. However, conventional object-oriented data processing system merely stores the procedural type program in the storage device.
Each of the programs stored corresponds to an object. Thus, there are attempts to grasp these objects in a composite form. Conventional approach, however, has been limited to the creation of composite object from sets, "tupples" and attributes.
FIG. 6 represents a relation about "person," wherein following aspects can be read from FIG. 6.
In the conventional approach, the link that connects the elements such as "person," "Mary," . . . "tennis," is fixed once a relationship is set as indicated in FIG. 6. Flexible setting up of link between the element is not possible.
Thus, there occurs a need for inheriting information between the elements such as "John," "name," "hobby," "person," which are linked in accordance with the "part-of" relationship or "is-a" relationship, upon event ignition such as "age," with a predetermined rule. Such a situation, on the other hand, may cause inheritance of information not necessary for the processing.